import { ip, port, DOCNAME } from '../constants';
/**
 *
 * @param {function} callback callback(data) data 就是treeData
 */
export function getFeatures(callback) {
  var docCatalog = new Zondy.Catalog.MapDoc({
    ip: ip,
    port: port,
    //设置地图文档的名称
    docName: DOCNAME,
    //设置地图的索引号
    mapIndex: 0,
  });
  //调用getLayersInfo函数，获取地图文档中所有图层相关信息，在回调函数中处理结果
  docCatalog.getLayersInfo(getListSuccess(callback));
}
//获取成功的回调
const getListSuccess = (callback) => {
  return function (data) {
    if (data.succeed) {
      if (data == null) {
        alert('没有获取到矢量地图文档！');
        return;
      } else {
        //将一个JSON转换成一个包含JSON文本的字符串
        // let formatData = JSON.stringify(data);
        let children = data.value.map((item) => {
          return { title: item.Name, key: item.LayerIndex };
        });
        if (callback) {
          callback([
            {
              title: '地图文档',
              key: '0-0',
              children: [...children],
            },
          ]);
        }
      }
    }
  };
};
// 隐藏地图文档的图层，第一个参数是地图文档，第二个参数是要隐藏的图层的layerId
export function hide(docLayer, layerIDs) {
  docLayer.setLayerStatus(layerIDs, 'hide');
  console.log(`layerid为${layerIDs} 隐藏`);
  docLayer.refresh();
}
export function show(docLayer, layerIDs) {
  docLayer.setLayerStatus(layerIDs, 'show');
  console.log(`layerid为${layerIDs} 显示`);
  docLayer.refresh();
}
